package com.whnk.attendance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.whnk.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 日常考勤报表展示条目
 *
 * @author whnk
 * @date 2021-11-17
 */
public class DailySignListVo implements Serializable {

    /** 身份证 */
    @Excel(name = "身份证号")
    @ApiModelProperty(value = "身份证号")
    private String empId;

    /** 姓名 */
    @Excel(name = "姓名")
    @ApiModelProperty(value = "姓名")
    private String empNm;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM")
    private Date date;

    /** 项目应出勤(天数) */
    @Excel(name = "应出勤天数")
    private BigDecimal proAttDays;

    /** 正常考勤(天数) */
    @Excel(name = "正常考勤天数")
    private BigDecimal normalAttDays;

    /** 正常考勤(天数) */
    @Excel(name = "请假天数")
    private BigDecimal leaveAttDays;

    /** 调休天数 */
    @Excel(name = "调休天数")
    private BigDecimal leavePaid;

    public String getEmpId() {
        return empId;
    }

    public void setEmpId(String empId) {
        this.empId = empId;
    }

    public String getEmpNm() {
        return empNm;
    }

    public void setEmpNm(String empNm) {
        this.empNm = empNm;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public BigDecimal getProAttDays() {
        return proAttDays;
    }

    public void setProAttDays(BigDecimal proAttDays) {
        this.proAttDays = proAttDays;
    }

    public BigDecimal getNormalAttDays() {
        return normalAttDays;
    }

    public void setNormalAttDays(BigDecimal normalAttDays) {
        this.normalAttDays = normalAttDays;
    }

    public BigDecimal getLeaveAttDays() {
        return leaveAttDays;
    }

    public void setLeaveAttDays(BigDecimal leaveAttDays) {
        this.leaveAttDays = leaveAttDays;
    }

    public BigDecimal getLeavePaid() {
        return leavePaid;
    }

    public void setLeavePaid(BigDecimal leavePaid) {
        this.leavePaid = leavePaid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("empId",getEmpId())
                .append("empNm", getEmpNm())
                .append("date", getDate())
                .append("proAttDays", getProAttDays())
                .append("normalAttDays", getNormalAttDays())
                .append("leaveAttDays", getLeaveAttDays())
                .append("leavePaid", getLeavePaid())
                .toString();
    }
}
